/**
 * 
 */
package Control;

import java.util.ArrayList;
import javax.swing.JOptionPane;
import Utils.MailHandler;
import Entity.Customer;
import Entity.E_Mail;
import Entity.Meeting;
import Entity.MsgPackage;
import GUI.*;

/**
 * This class handle customer in the system and send the given information from the GUI's class to the server
 * it's can view customer details, coordinating meeting to customer and if it's new customer it's also add him
 * to the system, 
 * @author aviat
 *
 */
public class HendleCustomerControl {

	private handlingCustomer handelCustGui;
	private ViewCustomerDetails vCdetails;
	private CoordinatingMeeting cooMeeting;
	private AddCustomer addCustomerGui;
	private UpdateCustomerDetails updateCustGui;
	private RemoveCustomer removeCustGui;
	private MeetingGui mGui;
	private CoordFromAddCust coordFromAddCustGui;
	private NewCustomerDetails newCustomerDetailsGui;
	private NewOrReturnCustomer newOrReturnCustomerGui;
	private EditMeeting editMeetingGui;
	private PassingManagerIncharge passingManagerInchargeGui;
	private MsgPackage handleCustomerMsg;
	private NotifyCustomer NotifyCust;
	private MailToCustomer mailToCustomerGui;
	private HaveOrDontHaveEvent haveOrDontHaveEventGui;
	private CoordWithExisting coordWithExistingGui;
	private Meeting m;
	private Customer c;
	private int uORvFlag=-1;
	/**
	 * Constructor
	 */
	public HendleCustomerControl() {
		addCustomerGui = new AddCustomer();
		coordFromAddCustGui = new CoordFromAddCust();
		newCustomerDetailsGui= new NewCustomerDetails();
		cooMeeting = new CoordinatingMeeting();
		handelCustGui = new handlingCustomer();
		passingManagerInchargeGui = new PassingManagerIncharge();
		vCdetails = new ViewCustomerDetails();
		updateCustGui = new UpdateCustomerDetails();
		removeCustGui = new RemoveCustomer();
		editMeetingGui = new EditMeeting();
		mGui = new MeetingGui();
		haveOrDontHaveEventGui = new HaveOrDontHaveEvent();
		mailToCustomerGui = new MailToCustomer();
		newOrReturnCustomerGui = new NewOrReturnCustomer();
		coordWithExistingGui = new CoordWithExisting();
		m = new Meeting();
		c = new Customer();
		handleCustomerMsg = new MsgPackage();
		NotifyCust = new NotifyCustomer();
	}
	/**
	 * @return the newOrReturnCustomerGui
	 */
	public NewOrReturnCustomer getNewOrReturnCustomerGui() {
		return newOrReturnCustomerGui;
	}
	/**
	 * This method send a request to server to get all customers 
	 *@return an array list that contain all customers of the company
	 */
	public ArrayList<Customer> getAllCustomer() {
	
		handleCustomerMsg.setObject(null);
		handleCustomerMsg.setOp_code(OP_CODE.GET_ALL_CUSTOMER);
		ScreenManager.getConnection().accept(handleCustomerMsg);
		
		Object o = ScreenManager.getConnection().cclient.getMessage();

		return (ArrayList<Customer>) o;
		
	}

	/**
	 * This method send a request to server to get all the meeting details
	 *@return an array list that contain all meetings
	 */
	public ArrayList<Meeting> getAllCustomerMeeting() {
	
		handleCustomerMsg.setObject(null);
		handleCustomerMsg.setOp_code(OP_CODE.GET_ALL_CUSTOMER_MEETING);
		ScreenManager.getConnection().accept(handleCustomerMsg);
		
		Object o = ScreenManager.getConnection().cclient.getMessage();

		return (ArrayList<Meeting>) o;
		
	}
	
		/**
	 * This method send a request to server to get all the customers ids and there meeting details
	 *@return an array list that contain all meetings
	 */
	public ArrayList<Meeting> getAllCustIDs() {
	
		handleCustomerMsg.setObject(null);
		handleCustomerMsg.setOp_code(OP_CODE.GET_CIDS);
		ScreenManager.getConnection().accept(handleCustomerMsg);
		
		Object o = ScreenManager.getConnection().cclient.getMessage();

		return (ArrayList<Meeting>) o;
		
	}
	/**
	 * This method send a request to server to get all the meeting details
	 *@return an array list that contain all meetings
	 */
	public ArrayList<Meeting> getMeetingForEvent() {
	
		handleCustomerMsg.setObject(null);
		handleCustomerMsg.setOp_code(OP_CODE.GET_MEETING);
		ScreenManager.getConnection().accept(handleCustomerMsg);
		
		Object o = ScreenManager.getConnection().cclient.getMessage();

		return (ArrayList<Meeting>) o;
		
	}
	/**
	 * This method send a request to server to get all customer's meeting
	 *@return an array list that contain all customer's meeting 
	 */
	public ArrayList<String> getAllManagersNames() {
	
		handleCustomerMsg.setObject(null);
		handleCustomerMsg.setOp_code(OP_CODE.GET_MANAGER_NAME);
		ScreenManager.getConnection().accept(handleCustomerMsg);
		
		Object o = ScreenManager.getConnection().cclient.getMessage();

		return (ArrayList<String>) o;
		
	}	
	/**
	 * This method send a request to server to edit customer details
	 *@return true if the customer's updated successfully and false if no update has be done
	 */
	public boolean updateCustDetails(){
		
		c.setcID(Integer.parseInt(updateCustGui.getCustomerIDcomboBox().getSelectedItem().toString()));
		c.setgFname(newCustomerDetailsGui.getgFnameComboBox().getText().toString());
		c.setgLname(newCustomerDetailsGui.getgLnameComboBox().getText().toString());
		c.setbLname(newCustomerDetailsGui.getbLnamecomboBox().getText().toString());
		c.setbFname(newCustomerDetailsGui.getbFnameComboBox().getText().toString());
		c.setgPhone(newCustomerDetailsGui.getgPonetextField().getText().toString());
		c.setbPhone(newCustomerDetailsGui.getbPhogeTextField().getText().toString());
		c.setAddress(newCustomerDetailsGui.getAddresstextArea().getText().toString());
		c.setEmail(newCustomerDetailsGui.getEmailtextField().getText().toString());
			
		handleCustomerMsg.setObject(c);
		handleCustomerMsg.setOp_code(OP_CODE.UPDATE_CUSTOMER_DETAILS);
		ScreenManager.getConnection().accept(handleCustomerMsg);
		
		Object o = ScreenManager.getConnection().cclient.getMessage();
		if((boolean) o)
			JOptionPane.showMessageDialog(null, "Customers "+c.getgFname()+" and "+c.getbFname()+" details ware update successfully", "", JOptionPane.INFORMATION_MESSAGE);
		else{
			JOptionPane.showMessageDialog(null, "You didm't update any information", "", JOptionPane.INFORMATION_MESSAGE);
			
			return false;
		}
		return true;
			
	}


	/**
	 * This method send a request to server to coordinating meeting to potential customer
	 *
	 */
	public boolean changeManagerIncharge(){
		
		
		m.setcID(passingManagerInchargeGui.getcID());
		System.out.println(m.getcID());
		m.setManagerIncharge(passingManagerInchargeGui.getNewManagercomboBox().getSelectedItem().toString());
		System.out.println(m.getManagerIncharge());
		m.setmDate(passingManagerInchargeGui.getmDateComboBox().getSelectedItem().toString());
		System.out.println(m.getmDate());
		m.seteDate(passingManagerInchargeGui.geteDatecomboBox().getSelectedItem().toString());
		System.out.println(m.geteDate());
		m.setmTime(passingManagerInchargeGui.getmTimeComboBox().getSelectedItem().toString());
		System.out.println(m.getmTime());
		
		handleCustomerMsg.setObject(m);
		handleCustomerMsg.setOp_code(OP_CODE.CHANGE_MANAGER_INCHARGE);
		ScreenManager.getConnection().accept(handleCustomerMsg);
			
		Object o = ScreenManager.getConnection().cclient.getMessage();
		if((boolean) o){
			boolean ans = sendConfirmationMail(false);
			if(ans)
				return true;
		}
		return false;
	}
	/**
	 * This method send a request to server to coordinating meeting to customer
	 *
	 */
	public boolean coorditatingMeetingToNewEvent(){
		if(!(cooMeeting.getcIDcomboBox().getSelectedItem().equals("") || cooMeeting.getPlacecomboBox().getText().toString().equals("")||
				cooMeeting.getMeetingDate().equals("") || cooMeeting.getEventDate().equals("") ||
				cooMeeting.getmTimetTxtField().getText().toString().equals("00:00:00")))
		{
	
			m.setcID(Integer.parseInt(cooMeeting.getcIDcomboBox().getSelectedItem().toString()));
			m.setManagerIncharge(cooMeeting.getManagerInchargecomboBox().getSelectedItem().toString());
			m.setmDate(cooMeeting.getMeetingDate());
			m.seteDate(cooMeeting.getEventDate());
			m.setmTime(cooMeeting.getmTimetTxtField().getText().toString());
			m.setePlace(cooMeeting.getPlacecomboBox().getText().toString());
			
			handleCustomerMsg.setObject(m);
			handleCustomerMsg.setOp_code(OP_CODE.COORDINATING_MEETING);
			ScreenManager.getConnection().accept(handleCustomerMsg);
			
			Object o = ScreenManager.getConnection().cclient.getMessage();
			if((boolean) o.equals("2")){
				JOptionPane.showMessageDialog(null, "Coordinating meeting wasn't succed", "ERROR", JOptionPane.ERROR_MESSAGE);
			}
			
			else{
				boolean ans = sendConfirmationMail(true);
				if(ans)
					return true;
			}
				
			
		}
		else
			JOptionPane.showMessageDialog(null, "Not all fields are filled, please fill them and than press coortinating", "ERROR", JOptionPane.ERROR_MESSAGE);
		return false;
	}
	
	/**
	 * This method send a request to server to coordinating meeting to customer
	 *
	 */
	public boolean coorditatingMeetingToExsitEvent(){
		if(!(coordWithExistingGui.getcIDcomboBox().getSelectedItem().equals("") || 
				coordWithExistingGui.getMeetingDate().equals("") || coordWithExistingGui.geteDatecomboBox().getSelectedItem().toString().equals("") ||
				coordWithExistingGui.getmTimetTxtField().getText().toString().equals("00:00:00")))
		{
	
			m.setcID(Integer.parseInt(coordWithExistingGui.getcIDcomboBox().getSelectedItem().toString()));
			m.setManagerIncharge(coordWithExistingGui.getManagerInchargecomboBox().getSelectedItem().toString());
			
			m.seteDate(coordWithExistingGui.geteDatecomboBox().getSelectedItem().toString());
			m.setmTime(coordWithExistingGui.getmTimetTxtField().getText().toString());
			m.setePlace(coordWithExistingGui.getPlacecomboBox().getSelectedItem().toString());
			
			handleCustomerMsg.setObject(m);
			handleCustomerMsg.setOp_code(OP_CODE.COORDINATING_MEETING);
			ScreenManager.getConnection().accept(handleCustomerMsg);
			
			Object o = ScreenManager.getConnection().cclient.getMessage();
			if((boolean) o.equals("2")){
				JOptionPane.showMessageDialog(null, "Coordinating meeting wasn't succed", "ERROR", JOptionPane.ERROR_MESSAGE);
			}
			
			else{
				boolean ans = sendConfirmationMail(true);
				if(ans)
					return true;
			}
		}
		else
			JOptionPane.showMessageDialog(null, "Some fields are empty, please fill them and than press ADD button", "ERROR", JOptionPane.ERROR_MESSAGE);
		return false;
	}
	/**
	 * This method send a request to server to coordinating meeting to customer
	 *
	 */
	public boolean coorditatingMeetingToNewCust(){
		if(!(coordFromAddCustGui.getMeetingDate().equals("") || coordWithExistingGui.getmTimetTxtField().getText().toString().equals("00:00:00")))
		{
	
			m.setcID(Integer.parseInt(coordFromAddCustGui.getcIDtextField().getText().toString()));
			m.setManagerIncharge(coordFromAddCustGui.getManagerInchargecomboBox().getSelectedItem().toString());
			m.setmDate(coordFromAddCustGui.getMeetingDate());
			m.setmTime(coordFromAddCustGui.getmTimetTxtField().getText().toString());
			m.setePlace(coordFromAddCustGui.getPlacecomboBox().getText().toString());
			
			handleCustomerMsg.setObject(m);
			handleCustomerMsg.setOp_code(OP_CODE.COORDINATING_MEETING);
			ScreenManager.getConnection().accept(handleCustomerMsg);
			
			Object o = ScreenManager.getConnection().cclient.getMessage();
			if((boolean) o.equals("2")){
				JOptionPane.showMessageDialog(null, "Coordinating meeting wasn't succed", "ERROR", JOptionPane.ERROR_MESSAGE);
			}
			
			else{
				boolean ans = sendConfirmationMail(true);
				if(ans)
					return true;
			}
		}
		else
			JOptionPane.showMessageDialog(null, "Some fields are empty, please fill them and than press ADD button", "ERROR", JOptionPane.ERROR_MESSAGE);
		return false;
	}
	/**
	 * This method send a request to server to add a potential customer
	 *
	 */
	public boolean addNewCustomer(){
		Customer c = new Customer();
		if(addCustomerGui.getgFnameTextField().getText().toString().equals("") || addCustomerGui.getgLnameTextField().getText().toString().equals("") ||
			addCustomerGui.getbFnameTextField().getText().toString().equals("") ||addCustomerGui.getbLnameTextField().getText().toString().equals("") ||
			(addCustomerGui.getgPhoneTextField().getText().toString().equals("") && addCustomerGui.getbPhoneTextField().getText().toString().equals("")) ||
			addCustomerGui.getAddressTextField().getText().toString().equals("")|| addCustomerGui.getEmailTextField().getText().toString().equals("")
			|| addCustomerGui.getCustomerIDtextField().getText().toString().equals(""))
				JOptionPane.showMessageDialog(null, "Some fields are empty, please fill them and than press ADD button", "ERROR", JOptionPane.ERROR_MESSAGE);
		else if(addCustomerGui.getCustomerIDtextField().getText().toString().length()!=9)
				JOptionPane.showMessageDialog(null, "field 'customer ID' must be 9 digit", "ERROR", JOptionPane.ERROR_MESSAGE);
		else{
			c.setcID(Integer.parseInt(addCustomerGui.getCustomerIDtextField().getText().toString()));
			c.setgFname(addCustomerGui.getgFnameTextField().getText().toString());
			c.setgLname(addCustomerGui.getgLnameTextField().getText().toString());
			c.setbFname(addCustomerGui.getbFnameTextField().getText().toString());
			c.setbLname(addCustomerGui.getbLnameTextField().getText().toString());
			c.setgPhone(addCustomerGui.getgPhoneTextField().getText().toString());
			c.setbPhone(addCustomerGui.getbPhoneTextField().getText().toString());
			c.setAddress(addCustomerGui.getAddressTextField().getText().toString());
			c.setEmail(addCustomerGui.getEmailTextField().getText().toString());
			handleCustomerMsg.setObject(c);
			handleCustomerMsg.setOp_code(OP_CODE.ADD_CUSTOMER);
			ScreenManager.getConnection().accept(handleCustomerMsg);
	
			Object o = ScreenManager.getConnection().cclient.getMessage();
			if((boolean) o)
			{
				JOptionPane.showMessageDialog(null, "customers "+c.getgFname()+" and "+c.getbFname()+" added successfully", "", JOptionPane.INFORMATION_MESSAGE);
				coordFromAddCustGui.getcIDtextField().setText(String.valueOf(c.getcID()));
				coordFromAddCustGui.getGbNamestextField().setText(c.getgFname()+" "+c.getbFname());
				
				return true;	
			}
			else
				JOptionPane.showMessageDialog(null, "Can't add customer, His allready exists in the system", "ERROR", JOptionPane.ERROR_MESSAGE);
		}
		return false;
	}

	/**
	 * This method send a request to server to sent an email to manager and customer with the new meeting datails 
	 * or to notify manager abut changes
	 * @return true if e-mails where sent successfully and false otherwuse
	 */
	private boolean sendConfirmationMail(boolean flag) {
		
		E_Mail mail = new E_Mail();
		mail.setM_Incharge(m.getManagerIncharge());
		mail.setcID(m.getcID());
		//mail.setgName(String.valueOf(name));
		handleCustomerMsg.setObject(mail);
		handleCustomerMsg.setOp_code(OP_CODE.GET_EMAIL);
		ScreenManager.getConnection().accept(handleCustomerMsg);

		Object o2 = ScreenManager.getConnection().cclient.getMessage();
		mail = (E_Mail) o2;
		if(mail==null){
			JOptionPane.showMessageDialog(null, "System couldn't send the Emails, please check if E-mail addresses are currect", "", JOptionPane.ERROR_MESSAGE);
			return false;
		}
		else{
			System.out.println(mail.getC_mail());
			
			MailHandler.generateMeetingMailForManager(mail);
			if(flag){
				MailHandler.generateMeetingMailBody(mail);
				JOptionPane.showMessageDialog(null, "Meeting details where send to both " + m.getManagerIncharge() + " E-mail and " + mail.getgName()+" & "+mail.getbName() + " E-mail", "", JOptionPane.INFORMATION_MESSAGE);
			}
			else
				JOptionPane.showMessageDialog(null, "Meeting details where send to " + m.getManagerIncharge() + " E-mail ", "", JOptionPane.INFORMATION_MESSAGE);
			
			return true;
		}
		
	}
	/**
	 * This method send a request to server to remove a customer
	 *
	 */
	public boolean removeCustomer(){
		
			int ans = JOptionPane.showConfirmDialog(null, "Are you sure you want to delete "+ removeCustGui.getgFnameComboBox().getSelectedItem().toString()+
					" "+removeCustGui.getgLnameComboBox().getSelectedItem().toString()+" & "+removeCustGui.getbFnameComboBox().getSelectedItem().toString()+" "+
					removeCustGui.getbLnamecomboBox().getSelectedItem().toString()+"from the system?", "", JOptionPane.YES_NO_OPTION);
			System.out.println(ans);
			if(ans==0){
				System.out.println(removeCustGui.getAddresscomboBox().getSelectedItem().toString());
				Customer c = new Customer();
				c.setgFname(removeCustGui.getgFnameComboBox().getSelectedItem().toString());
				c.setgLname(removeCustGui.getgLnameComboBox().getSelectedItem().toString());
				c.setbFname(removeCustGui.getbFnameComboBox().getSelectedItem().toString());
				c.setbLname(removeCustGui.getbLnamecomboBox().getSelectedItem().toString());
				c.setAddress(removeCustGui.getAddresscomboBox().getSelectedItem().toString());
				handleCustomerMsg.setObject(c);
				handleCustomerMsg.setOp_code(OP_CODE.REMOVE_CUSTOMER);
				ScreenManager.getConnection().accept(handleCustomerMsg);
		
				Object o = ScreenManager.getConnection().cclient.getMessage();
				if((boolean) o)
					JOptionPane.showMessageDialog(null, removeCustGui.getgFnameComboBox().getSelectedItem().toString()+
							" "+removeCustGui.getgLnameComboBox().getSelectedItem().toString()+" & "+removeCustGui.getbFnameComboBox().getSelectedItem().toString()+" "+
							removeCustGui.getbLnamecomboBox().getSelectedItem().toString()+" were removed from the system", "", JOptionPane.INFORMATION_MESSAGE);
				else
					return false;
				}
			else
				return false;
		

		return true;
	}
	/**
	 * This method send a request to server to change meeting time or date or both
	 *
	 */
	public boolean editMeeting(){
		Meeting meetimg = new Meeting();
		if(editMeetingGui.getMeetingDate().equals("") && editMeetingGui.getNewTimetextField().getText().toString().equals("")){
			JOptionPane.showMessageDialog(null, "In order to update you need to fill atlist one field ", "", JOptionPane.INFORMATION_MESSAGE);
		return false;
		}
		if(editMeetingGui.getMeetingDate().equals(editMeetingGui.getFormerDatetextField())
			&& editMeetingGui.getTimetextField().getText().toString().equals(editMeetingGui.getNewTimetextField().getText().toString())){
			JOptionPane.showMessageDialog(null, "There was no new information ", "", JOptionPane.INFORMATION_MESSAGE);
			return false;
		}
		meetimg.setcID(editMeetingGui.getcID());
		meetimg.seteDate(editMeetingGui.geteDateComboBox().getSelectedItem().toString());
		
		if(!(editMeetingGui.getMeetingDate().equals("")))
				meetimg.setmDate(editMeetingGui.getMeetingDate());
		if(!(editMeetingGui.getNewTimetextField().getText().toString().equals("")))
			meetimg.setmTime(editMeetingGui.getNewTimetextField().getText().toString());
				
		handleCustomerMsg.setObject(meetimg);
		handleCustomerMsg.setOp_code(OP_CODE.EDIT_MEETING);
		ScreenManager.getConnection().accept(handleCustomerMsg);
				
		Object o = ScreenManager.getConnection().cclient.getMessage();
		if((boolean) o)
			JOptionPane.showMessageDialog(null, "Meeting Details were update successfully", "", JOptionPane.INFORMATION_MESSAGE);
		else
			return false;
		
	
		return true;
	}
	/**
	 * This method set customer details in newCustomerDetailsGui
	 */
	public void setCustomerDetails(){
		Customer c = updateCustGui.getCustomer();
		newCustomerDetailsGui.getAddresstextArea().setText(c.getAddress());
		newCustomerDetailsGui.getgFnameComboBox().setText(c.getgFname());
		newCustomerDetailsGui.getgLnameComboBox().setText(c.getgLname());
		newCustomerDetailsGui.getbFnameComboBox().setText(c.getbFname());
		newCustomerDetailsGui.getbLnamecomboBox().setText(c.getbLname());
		newCustomerDetailsGui.getgPonetextField().setText(c.getgPhone());
		newCustomerDetailsGui.getbPhogeTextField().setText(c.getbPhone());
		newCustomerDetailsGui.getEmailtextField().setText(c.getEmail());
		
	}
	
	/**
	 * This method will clear the text field in GUI
	 */
	public void clearText(){
		if(uORvFlag==0){
			vCdetails.getgPonetextField().setText("");
			vCdetails.getbPhogeTextField().setText("");
			vCdetails.getEmailtextField().setText("");
		}
		else if(uORvFlag==1){
			newCustomerDetailsGui.getAddresstextArea().setText("");
			newCustomerDetailsGui.getgFnameComboBox().setText("");
			newCustomerDetailsGui.getgLnameComboBox().setText("");
			newCustomerDetailsGui.getbFnameComboBox().setText("");
			newCustomerDetailsGui.getbLnamecomboBox().setText("");
			newCustomerDetailsGui.getgPonetextField().setText("");
			newCustomerDetailsGui.getbFnameComboBox().setText("");
			newCustomerDetailsGui.getEmailtextField().setText("");
			}
		else if(uORvFlag==2){
			removeCustGui.getgPonetextField().setText("");
			removeCustGui.getbPhogeTextField().setText("");
			removeCustGui.getEmailtextField().setText("");
		}
		else if(uORvFlag==3){
			addCustomerGui.getgFnameTextField().setText("");
			addCustomerGui.getgLnameTextField().setText("");
			addCustomerGui.getgPhoneTextField().setText("");
			addCustomerGui.getbFnameTextField().setText("");
			addCustomerGui.getbLnameTextField().setText("");
			addCustomerGui.getbPhoneTextField().setText("");
			addCustomerGui.getAddressTextField().setText("");
			addCustomerGui.getEmailTextField().setText("");
		}
		else if(uORvFlag==4){
			mailToCustomerGui.getgPonetextField().setText("");
			mailToCustomerGui.getbPhogeTextField().setText("");
			mailToCustomerGui.getEmailtextField().setText("");
		}
			
	}
	
	/**
	 * This Send mail to customer to notify his photos are ready
	 */
	public void sentMailTocust(){
		
		MailHandler.readyPhotosMail(mailToCustomerGui.getEmailtextField().getText().toString());
		
		JOptionPane.showMessageDialog(null, "mail to "+mailToCustomerGui.getgFnameComboBox().getSelectedItem().toString()+" & "+mailToCustomerGui.getbFnameComboBox().getSelectedItem().toString()+" was send successfully", "", JOptionPane.INFORMATION_MESSAGE);
		
	}
	/**
	 * @return the handelCustGui
	 */
	public handlingCustomer getHandelCustGui() {
		return handelCustGui;
	}
	/**
	 * @return the vCdetails
	 */
	public ViewCustomerDetails getvCdetails() {
		return vCdetails;
	}
	/**
	 * @return the cooMeeting
	 */
	public CoordinatingMeeting getCooMeeting() {
		return cooMeeting;
	}
	/**
	 * @return the addCustomerGui
	 */
	public AddCustomer getAddCustomerGui() {
		return addCustomerGui;
	}
	/**
	 * @return the updateCustGui
	 */
	public UpdateCustomerDetails getUpdateCustGui() {
		return updateCustGui;
	}
	/**
	 * @return the uORvFlag
	 */
	public int getuORvFlag() {
		return uORvFlag;
	}
	/**
	 * @param uORvFlag the uORvFlag to set
	 */
	public void setuORvFlag(int uORvFlag) {
		this.uORvFlag = uORvFlag;
	}
	/**
	 * @return the removeCustGui
	 */
	public RemoveCustomer getRemoveCustGui() {
		return removeCustGui;
	}
	/**
	 * @return the newCustomerDetailsGui
	 */
	public NewCustomerDetails getNewCustomerDetailsGui() {
		return newCustomerDetailsGui;
	}
	/**
	 * @return the mGui
	 */
	public MeetingGui getmGui() {
		return mGui;
	}
	/**
	 * @return the editMeetingGui
	 */
	public EditMeeting getEditMeetingGui() {
		return editMeetingGui;
	}
	/**
	 * @return the passingManagerInchargeGui
	 */
	public PassingManagerIncharge getPassingManagerInchargeGui() {
		return passingManagerInchargeGui;
	}
	/**
	 * @return the notifyCust
	 */
	public NotifyCustomer getNotifyCust() {
		return NotifyCust;
	}
	/**
	 * @param notifyCust the notifyCust to set
	 */
	public void setNotifyCust(NotifyCustomer notifyCust) {
		NotifyCust = notifyCust;
	}
	/**
	 * @return the mailToCustomerGui
	 */
	public MailToCustomer getMailToCustomerGui() {
		return mailToCustomerGui;
	}
	/**
	 * @param mailToCustomerGui the mailToCustomerGui to set
	 */
	public void setMailToCustomerGui(MailToCustomer mailToCustomerGui) {
		this.mailToCustomerGui = mailToCustomerGui;
	}
	/**
	 * @return the haveOrDontHaveEventGui
	 */
	public HaveOrDontHaveEvent getHaveOrDontHaveEventGui() {
		return haveOrDontHaveEventGui;
	}
	/**
	 * @param haveOrDontHaveEventGui the haveOrDontHaveEventGui to set
	 */
	public void setHaveOrDontHaveEventGui(HaveOrDontHaveEvent haveOrDontHaveEventGui) {
		this.haveOrDontHaveEventGui = haveOrDontHaveEventGui;
	}
	/**
	 * @return the coordWithExistingGui
	 */
	public CoordWithExisting getCoordWithExistingGui() {
		return coordWithExistingGui;
	}
	/**
	 * @return the coordFromAddCustGui
	 */
	public CoordFromAddCust getCoordFromAddCustGui() {
		return coordFromAddCustGui;
	}
	/**
	 * @param coordFromAddCustGui the coordFromAddCustGui to set
	 */
	public void setCoordFromAddCustGui(CoordFromAddCust coordFromAddCustGui) {
		this.coordFromAddCustGui = coordFromAddCustGui;
	}
	
	

}
